import typescript from "rollup-plugin-typescript2";
import {
    nodeResolve
} from "@rollup/plugin-node-resolve";

import path from "path";

import vue from "rollup-plugin-vue";

import {
    getPackagesSync
} from "@lerna/project";

// getPackagesSync获取packages下面所有包的名字 过去所有packages 的所有的package.json 拿到名字
const inputs = getPackagesSync().map(pkg => pkg.name).filter(name => name.includes('@d-ui'));
// 只需要打包个button icon
export default inputs.map(name => {
    const pkName = name.split("@d-ui");

    return {
        input: path.resolve(__dirname, `../packages/${pkName}/index.ts`),
        output: {
            format: 'es',
            file: `lib/${pkName}.esm.js`
        },
        plugin: [
            nodeResolve(),
            vue({
                target: 'brower',
            }),
            typescript({ //默认调用tsconfig.js
                tsconfigOverride:{
                    compilerOptions :{
                        declaration: false, //不需要声明声明文件了 全量的时候已经声明了
                    },
                    exclude: [
                        'node_modules',
                        'website'
                    ]
                }
            })
        ],
        external(id){ // 排除vue
            return /^vue/.test(id) || /^@d-ui/.test(id) // 排除vue 或者组件引用组件的情况。
        }
    }
})